Particular examples and scenarios will be given herein where some embodiments may be applicable. It should be understood, however, that some embodiments may be equally applicable in relation to other examples and scenarios.
Machine Type Communication in Enhanced Coverage
There is a current work item in 3GPP (Third Generation Partnership Project) on “Low cost & enhanced coverage MTC UE for LTE” (3GPP RP-130848). One objective of the work item aims at significantly improving the coverage for Machine Type Communication (MTC) devices for LTE. One goal of the work item is to improve the support of such devices in poor radio conditions; devices that typically have low data rate requirements and are delay tolerant. A typical use case could be utility meters in basements. The actual required improvement compared to a legacy UMTS LTE (Universal Mobile Telecommunication System, Long Term Evolution) system is different for different physical channels, but is in the order of 15 dB (relating to signal levels and also to signal-to-interference-and-noise ratio—SINR). This is in most cases achieved by different forms of repetition, such that a message e.g. is transmitted over several 1 ms subframes instead of the single subframe transmission that is normally used. Some information transmitted over certain physical channels is repeated already in legacy LTE systems. Most notably, this refers to the primary and secondary synchronization signals (PSS/SSS) and the broadcasted system information. In order to improve the coverage of these scenarios, one possibility would be to increase the amount of repetition of the information on these channels.
There is a need for improved reception of system information.
System Information
The system information comprises several blocks of information of various kinds, from fundamental parameters such as in LTE which bandwidths are used for the downlink and uplink carriers, the paging cycle in use, the global cell identity, downlink bandwidth, to intra- and inter-frequency neighbor cells, as well as neighbor cells of other technologies (inter-RAT).
The procedure for acquiring broadcasted system information in LTE is specified in 3GPP Technical Specification (TS) 36.331 V12.4.1 section 5.2.2. The description below relates to legacy LTE UEs, whereas the transmission of system information may very well be different for MTC UEs. This may apply both to the content of the system information transmitted to these UEs, and also procedures and timing for the transmissions.
The system information blocks that a UE in idle mode is to read when entering an LTE cell are:                MIB: DL bandwidth, PHICH configuration, system frame number.        SIB1: Comprising                    Access information and cell identity, tracking area code, PLMN identities,            cell selection information,            TDD configuration,            maximum allowed UL transmit power,            scheduling of remaining SIBs, and indication whether SIBs have changed            etc.                        SB2: Comprising information on the serving cell                    Barring information,            Radio resource configuration common to all UEs                            configuration of physical channels,                reference signal transmit power,                etc.                                    UE timers and constants,            UL carrier frequency and bandwidth,            MBSFN subframe configurations,            etc.                        SB3: Comprising common parameters for cell re-selection to intra-frequency neighbor cells                    Hysteresis for re-selection            Threshold for when to search for inter-frequency and inter-RAT neighbors            Threshold for when to search for intra-frequency neighbors            Maximum allowed UL transmit power in neighbor cells,            Reselection timer applicable for intra-frequency cell reselection            etc.                        SB4: Comprising cell-specific settings for intra-frequency cell reselection                    List of intra-frequency neighbor cells good for reselection                            Cell identity                Individual offset to the common reselection hysteresis in SIB3                                    Black list of intra-frequency neighbors not to consider for reselection                            Cell identity                                    etc.            SIB5: Comprising list of common as well as cell-specific settings inter-frequency cell reselection            Inter-frequency carriers            Cell reselection priority, per carrier            Cell reselection threshold for higher priority search (reference signal received power and quality, respectively), per carrier            Cell reselection threshold for regular search (reference signal received power and quality, respectively), per carrier            Cell reselection timer, per carrier            Common offset for cell reselection hysteresis, per carrier            List of intra-frequency neighbor cells good for reselection, per carrier                            Cell identity                Individual offset to the common reselection hysteresis                                    Black list of intra-frequency neighbors not to consider for reselection, per carrier                            Cell identity                                    Cell configurations (partial information about MBSFN pattern, TDD UL/DL subframe allocation, . . . ), per carrier            etc.                        SIB6: Comprising list of common as well as cell-specific settings for inter-RAT cell reselection to Universal Terrestrial Radio Access Network (UTRAN)                    Corresponding to SIB5                        SIB7: Comprising list of common as well as carrier-specific settings for inter-RAT cell reselection to GSM EDGE Radio Access Network (GERAN)                    Corresponding to SIB5                        SIB8: Comprising list of common as well as cell-specific settings for inter-RAT cell reselection to Code Division Multiple Access 2000 (CDMA2000)                    Corresponding to SIB5                        
For full specification see 3GPP TS 36.331 V12.4.1 section 6.2.2 for MIB and SIB1, and section 6.3.1 for SIBs 2 to 8.
The UE will read the system information again when paged on that the system information has been updated (changed SIBs to be read) or when a timer has expired (usually after 3 hours; complete set of SIBs as outlined above).
The system information is used for mobility in idle mode. Usage of the information for cell reselection is described in 3GPP TS 36.304 V12.3.0 section 5.2.4.
The system information blocks outline here are modified only at certain times, and the information remains constant during a so called BCCH modification period, which corresponds to 2, 4, 8 or 16 times the paging cycle in use; the least duration of a BCCH modification period is 640 ms. Hence SIBs can be soft combined as long as the redundancy versions (RVs) are collected from the same modification period. Thus in unfavorable radio conditions RVs in several TTIs (e.g. 80 ms TTI for SIB1) can be combined.
The MIB is different in this respect in that it differs on TTI basis (40 ms TTI) due to that in addition to essential system information parameters it also carries the most significant 8 bits of the system frame number counter, which is incremented every 40 ms; see e.g. 3GPP TS 36.331 V12.4.1 (MasterInformationBlock and PHICH-Config). The MIB contains 10 spare bits for future use and which are set to 0 in releases up to Release 12. The future usage that is discussed includes extension of the SFN counter, which would be incremented once every 1024 radio frames (10.24 sec), and additional signaling of semi-static nature.
Physical Layer Processing—Transmitter Side (e.g. at Another Device or at a Network Node, Such as an eNodeB or Base Station)
The 24 bits of information carried in the MIB code block are appended with a Cyclic redundancy check (CRC) check sum of 16 bits, in a procedure described in 3GPP TS 36.212 V12.3.0 sections 5.1.1-2, resulting in a transport block of 40 bits to be transmitted. The CRC check sum is further masked (bits are toggled) to indicate the number of Tx ports used by the eNodeB; see the following table (Table 1).
TABLE 1CRC mask for indication of number of transmit antennaports (3GPP TS 36.212 V12.3.0 section 5.3.1).Number of transmit antennaPBCH CRC maskports at eNodeB<xant, 0, xant, 1, . . . , xant, 15>1<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>2<1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1>4<0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1>
The transport block is subjected to channel coding, 3GPP TS 36.212 V12.3.0 section 5.1.3, using a tail biting convolutional code (illustrated by the example convolutional encoder of FIG. 1) with code rate 1/3 with constraint length 7 (represented by the 7−1=6 memory elements 101, 102, 103, 104, 105, 106), meaning that each information bit (ck, input at 151) results in 3 encoded bits (dk(0), dk(1), dk(2), output at 152, 153, 154, respectively) and there are 27-1=64 different states. In the example convolutional encoder of FIG. 1, the generator polynomials for dk(0), dk(1) and dk(2) are G0=133(octal), G1=171(octal) and G2=165(octal), respectively.
G0=133(octal)=1011011(binary) means that dk(0) is generated by (binary) addition of the current information bit 151 and previous information bits delayed by 2, 3, 5 and 6 time units as illustrated by adders 112, 113, 115 and 116. G1=171(octal)=1111001(binary) means that dk(1) is generated by (binary) addition of the current information bit 151 and previous information bits delayed by 1, 2, 3 and 6 time units as illustrated by adders 121, 122, 123 and 126. G2=165(octal)=1110101(binary) means that dk(2) is generated by (binary) addition of the current information bit 151 and previous information bits delayed by 1, 2, 4 and 6 time units as illustrated by adders 131, 132, 134 and 136. Tail biting means that the initial state of the encoder is determined by the last 6 bits of the transport block as opposed to in regular coding where the encoder starts in initial state 0.
The encoded transport block of length 120 bits is then subjected to rate matching according to the procedure in 3GPP TS 36.212 V12.3.0, section 5.1.4.2, comprising sub-block interleaving (rearrangement of the bits in each of the 3 outputs in FIG. 1), bit collection and arrangement of the bits into a circular buffer, and bit selection, i.e. extraction of bits from the circular buffer. The number of bits that finally are sent in a TTI (40 ms) is 1920 when normal cyclic prefix is used (3GPP TS 36.211 V12.4.0 section 6.6.1).
FIG. 2 illustrates transport channel processing for BCH (3GPP TS 36.212 V12.3.0 section 5.3.1) with A, K, D and E corresponding to 24, 40, 120 and 1920 bits, respectively (where A is the number of bits in the signal 211—a0, a1, . . . , aA-1, K is the number of bits in the signal 212—c0, c1, . . . , cK-1, D is the number of bits in the signal 213—d0(i), d1(i), . . . , dD-1(i), and E is the number of bits in the signal 214—e0, e1, . . . , eE-1).
The rate matched 1920 bits are subjected to scrambling using a cell-specific scrambling sequence that is initialized for each chunk of 1920 bits (3GPP TS 36.211 V12.4.0 section 6.6.1), and modulated by QPSK by which each pair of bits forms a modulation symbol, resulting in 960 modulation symbols to transmit (3GPP TS 36.211 V12.4.0 section 6.6.2). Depending on whether one or multiple transmission ports are used by the eNodeB, the modulation symbols may be subjected to layer mapping and precoding.
The 960 modulation symbols are mapped onto the central 72 subcarriers in the first 4 OFDM symbols of slot 1 (see FIG. 3 illustrating location of PBCH in the time-frequency resource grid for one radio frame, where the x-axis represents time in sub frame numbers, the y-axis represents frequency as subcarriers, and 351 indicates the central 72 subcarriers), in 4 consecutive radio frames, where the first out of the four consecutive radio frame fulfills mod4(sfn)=0 (3GPP TS 36.211 V12.4.0 section 6.6.4).
FIG. 3 illustrates location of various signal parts in subframes 0 (352), 1, 2, 3, 4, 5 (353), 6, 7 of the time-frequency resource grid. PSS is illustrated as horizontally striped fields 362, 365, SSS is illustrated as diagonally striped fields 361, 364, and PBCH as diagonally striped field 363. CRS is illustrated by small squares and a distinction is made between black squares 366 illustrating CRS that is always present and white squares 367 illustrating CRS that is sometimes present.
Physical Layer Processing—Receiver Side (e.g. at a Communication Device, Such as a UE)
The processing on the receiver side comprises:                Demodulation and demapping        Descrambling        Rate restoration, resulting in a transport block of 120 bits        Decoding, resulting in code block of 40 bits        CRC check and removal, resulting in either retrieving the 24 bit MIB successfully plus information on number of transmission ports in use by the eNodeB, or an indication on that the decoding has failed.        
In favorable radio conditions the UE can attempt decoding the MIB already after having received one out of the 4 PBCH blocks, since there is much redundancy introduced by the rate matching (the encoded transport block is repeated 16 times). Since it at this point generally is unknown whether the first, second, third or fourth instance has been received, the UE may investigate all possibilities and hence repeat Descrambling, Rate restoration, Decoding and CRC check four times.
When the next instance of PBCH is received the UE repeats the procedure, but also has to take into account that the second instances might come from another 40 ms period, by which it cannot be combined and decoded together with the first instance, since the SFN carried differs. This procedure is repeated until either the MIB is successfully received, as indicated by a CRC check, or all possibilities have been exhausted (to secure that 4 PBCH instances from the same 40 ms TTI have been collected, the device needs to collect and repeat the outlined process for 7 such instances).
Viterbi Decoder
The Viterbi algorithm is described e.g. in Forney, G. D, Jr. “The Viterbi algorithm”, Proc. IEEE, Vol. 61(3), pp. 268-278, March 1973 and multiple versions exist. A very brief overview of a non-limiting exemplary algorithm is provided here.
The Viterbi algorithm may, for example, be used to decode messages encoded with the convolutional encoder used in LTE, for which the algorithm operates with 26 (64) states since the depth of the shift register is 6 (FIG. 1). Since each bit fed to the encoder produces a 3 bit code word segment as output, there are 23 (8) possible encoder outputs. However, a state (of the encoder and in the trellis of the Viterbi decoder) reflects the bits that have been fed from the message to be encoded. Hence, the encoder output for a transition to a subsequent state is constrained to only two options:                Previous state arithmetically shifted towards the least significant bit, and with the most significant bit set to zero, and        Previous state arithmetically shifted towards the least significant bit, and with the most significant bit set to one.        
When for a given current (also referred to as previous herein) state a code word segment is received, a decoder operating in accordance with the Viterbi algorithm computes the so called branch (transition) metrics that essentially indicates how well the received code word segment matches the conditions for transition to a subsequent state along each of the two branches.
Each current state is associated with an accumulated so called path metric, which indicates how well all transitions between states up to the current code word segment have matched the conditions.
For a given subsequent state, the algorithm computes the total metric (path metric plus branch metric) for the transitions from two current states to the subsequent state, and selects the incoming path that displays the best metric, which now becomes the path metrics of the subsequent state.
When the next code word segment has been received, the procedure is repeated again but this time the previously subsequent state is now a current state. At the end, when the last code word segment has been received, the algorithm determines the final state that is associated with the best metric, and then carries out a so called trace-back whereby it identifies all the preceding states, and maps the sequence of states to binary representation i.e. “0s” and “1s”.
Convolutional encoding with tail biting leads to that the initial state can be any of the 64 states—it depends on the last 6 bits of the original message that was encoded. Hence, all options need to be considered in the decoding and one cannot for instance assume that initial state 0 has been used (as customary when tail biting is not used). Moreover, since the last 6 bits of the message have defined the initial state, one may train the decoder by feeding bits from the end of the transport block, in what is referred to as a Circular Viterbi algorithm (CVA).
FIG. 4 schematically illustrates two segments 401, 402, of a trellis corresponding to the convolutional encoder example above and a sketch of branches 411, 412, 413, 414, 415, 416, 417, 418 in the corresponding Viterbi decoding. The 64 possible states ranges from 0000002 to 1111112, and each of the possible states is represented at three different stages of the trellis as illustrated by 420-428, 430-438 and 440-448 in FIG. 4. Branch metrics are calculated by comparing the branch conditions with the received code word or code word segment.
The technical field of trellis representation and Viterbi decoding is well known in the art and will not be elaborated on in depth. For example, a decision regarding which of the state transitions 411 and 413 into state 446 will be chosen may be based on branch metrics of transitions 411 and 413. Using the previously discussed convolutional encoder example, the branch metric of transition 411 may be calculated based on a difference between the received code word segment in 402 and the code word segment 1002 (encoded bits, corresponding to an information bit equal to 1) of the transition 411, and similarly for any transition of the trellis.
Some Example Problems
Due to the difference between system frame numbers in adjacent TTIs it is not possible to combine PBCH blocks across the 40 ms TTI border, only inside. Hence in unfavorable radio conditions the UE has to try multiple times until it successfully has decoded the MIB using the four blocks transmitted in the same 40 ms period, if at all possible.
In extended coverage scenarios the device typically shall operate at 15 dB lower SINR than in up to and including 3GPP Release 12. When receiving PBCH at say SINR −21 dB the likelihood of successfully decoding the MIB in a single shot or attempt is extremely low. This has led to a proposal in 3GPP on repeating the PBCH up to 10 times in the same 40 ms period leading to a code rate of 0.002 (40 information bits including CRC to transmit, 19200 bits used), i.e., extremely high redundancy and robustness. One drawback is that this consumes system resources and reduces the achievable system throughput by up to 5.2 Mbps (assuming 64QAM and 4 layers) or about 450 Gb/day in every cell supporting extended coverage.
It should be noted that the above scenario regarding PBCH block reception and MIB decoding are only provided as an example scenario where embodiments may be applicable. Similar problems may occur in many different decoding scenarios. Also, embodiments may be equally applicable in numerous decoding scenarios.
EP 1811711 A1 discloses a method for handling a difference between a first and second message prior to decoding using codeword properties. Multiple messages are combined under the hypothesis that the value of a message portion corresponding to any subsequent observed transmission is different. A convolutional decoder could operate on first and subsequent codeword observations by embedding hypotheses on the information word differences between the first and subsequent codeword observations in the branch metric computations used to construct the trellis state metrics.